#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
//int main()
//{
//	int a = 12345;
//	int* p = &a;
//	printf("%d ", *p);
//	*p = 0;
//	printf("%d ", *p);
//	return 0;
//}
//int main()
//{
//	int arr[5] = { 1,2,3,4,5 };
//	int* p = &arr[0];
//	for (int i = 0; i < 5; i++)
//	{
//		printf("%d ", *(p + i));
//	}
//	return 0;
//}
//int main()
//{
//	int arr[5] = { 1,2,3,4,5 };
//	int* p = &arr[0];
//	int* p2 = &arr[4];
//	printf("%d ", p2 - p);
//	return 0;
//}
 /*int main()
{
	 int a = 10;
	 const int* p = &a;
	 a = 20;
	
	 printf("%d\n", a);
	 int* const p2 = &a;
	 p2 = NULL;
		  
}*/
//int main()
//{
//	int a = 10;
//	int* p = &a;
//	int** p1 = &p;
//	printf("%p ", &p);
//	printf("%p ", p1);
//
//}
//int main()
//{
//	int a = 10;
//	int* p = &a;
//	int** p1 = &p;
//	printf("%d ", **p1);
//	return 0;
//
//}
//int main()
//{
//	int a = 10;
//	int b = 20;
//	int c = 30;
//	int* p[3] = { &a,&b,&c };
//	for (int i = 0; i < 3 ; i++)
//	{
//		printf("%d ", *p[i]);
//	}
//	return 0;
//}
//int main()
//{
//	int arr1[3] = { 1,2,3 };
//	int arr2[3] = { 4,5,6 };
//	int arr3[3] = { 6,7,8 };
//	int* p[3] = { arr1,arr2,arr3 };
//	for (int i = 0; i < 3; i++)
//	{
//		for (int j = 0; j < 3; j++)
//		{
//			printf("%d ", p[i][j]);
//		}
//		printf("\n");
//	}
//	return 0;
//	
////}
//int main()
//{
//	int arr1[3] = { 1,2,3 };
//	printf("%d\n", arr1[1]);
//	printf("%d\n", *(arr1 + 1));
//	return 0;
//	
//}
//int main()
//{
//	int arr[2][3] = { 1,2,3 ,4,5,6};
//	printf("%d\n", arr[1][2]);
//	printf("%d\n", *(*(arr+1)+2));
//	return 0;
//
//}
//int main()
//{
//	int arr[3] = { 1,2,3 };
//	int(*p)[3] = &arr;
//	for (int i = 0; i < 3; i++)
//	{
//		printf("%d ", (*p)[i]);
//	}
//	return 0;
//}
void print(int arr[5])
{
	for (int i = 0; i < 5; i++)
	{
		printf("%d ",arr[i]);
	}
}
int main()
{
	int arr[5] = { 1,2,3,4,5 };
	int(*p)(int[5]) = print;
	(*p)(arr);
	return 0;
}